package com.bkgy.modularbx.dictionary.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bkgy.commom.model.QueryDTO;
import com.bkgy.modularbx.dictionary.domain.DataDictionary;
import com.bkgy.modularbx.dictionary.dto.DataDictionaryDto;
import com.bkgy.sys.common.entity.ResultData;

/**
 * 数据字典服务接口
 */
public interface DataDictionaryService extends IService<DataDictionary> {
    /**
     * 新增数据字典
     * @param dataDictionary 数据字典信息
     * @return 操作结果
     */
    ResultData<Void> addDictionary(DataDictionary dataDictionary);

    /**
     * 分页查询数据字典
     * @param queryDTO 查询条件和分页信息
     * @return 分页结果
     */
    ResultData<Page<DataDictionary>> pageDictionary(QueryDTO<DataDictionaryDto> queryDTO);

    /**
     * 删除数据字典
     * @param indocno 序号
     * @return 操作结果
     */
    ResultData<Void> deleteDictionary(Integer indocno);

    /**
     * 更新数据字典
     * @param dataDictionary 数据字典信息
     * @return 操作结果
     */
    ResultData<Void> updateDictionary(DataDictionary dataDictionary);

    /**
     * 根据主键查询数据字典
     * @param indocno 序号
     * @return 数据字典信息
     */
    ResultData<DataDictionary> findById(Integer indocno);
}
